;This function is freeware courtesy of the author's of "Inside AutoLisp" for rel. 10 published by New Riders Publications.  This credit must accompany all copies of this function.

;;;October 19, 2004 added function to check keywords

;* UANGLE User interface angle function 
;* BIT (1 for no null, 0 for none) and KWD key word ("" for none) are same as
;* for INITGET. MSG is the prompt string, to which a default real in rads is
;* added as <DEF> (nil for none), and a : is added. BPT is base point (nil
;* for none).
;*
(defun uangle (bit kwd msg def bpt / inp)
  (IF chkkwds nil (load "chkkwds" "\nFile CHKKWDS.LSP not loaded! "))
  (chkkwds kwd)
  (if def 
    (setq msg (strcat "\n" msg " <" (if(eq(type def)'STR)def(angtos def)) ">: ")
          bit (* 2 (fix (/ bit 2)))
    )
    (setq msg (strcat "\n" msg ": "))
  )
  (initget bit kwd)
  (setq inp
    (if bpt
       (getangle msg bpt)
       (getangle msg)
  ) )
  (if inp inp def)
);defun
;*
(princ)
;*


